<template>
    <ModifyAndAddMovie  :countries="countries" :moviesType="moviesType">

    </ModifyAndAddMovie>
    <MovieSearch  :countries="countries" :moviesType="moviesType" :selectByTerm="selectByTerm" :selectResult="selectResult">

    </MovieSearch>
    <MovieTable :moviesData="selectResult" :tableThead="tableThead" :deleteMovie="deleteMovie" :getAddMovieInfo="getAddMovieInfo">

    </MovieTable>
</template>

<script setup>
import { computed, ref } from 'vue';
import ModifyAndAddMovie from './ModifyAndAddMovie.vue';
import MovieSearch from './MovieSearch.vue';
import MovieTable from './MovieTable.vue';
//电影信息
const moviesData = ref([
    {
        "_id": "682d9da7573f2ec0eb01fb5b",
        "name": "攻壳机动队",
        "duration": "83",
        "hot": 1,
        "types": [
            "动作",
            "科幻",
            "动画"
        ],
        "country": "日本",
        "year": "1995",
    },
    {
        "_id": "682da14ba9d2e7026f9c3016",
        "name": "幽灵公主",
        "score": "8.9",
        "duration": "134",
        "hot": 0,
        "types": [
            "动画",
            "奇幻",
            "冒险"
        ],
        "country": "日本",
        "year": "1997",
    },
    {
        "_id": "682da1d6a9d2e7026f9c301e",
        "name": "情书",
        "score": "8.9",
        "duration": "117",
        "hot": 1,
        "types": ["爱情"],
        "country": "日本",
        "year": "1995",
    },
    {
        "_id": "682ef55afa09000092007cbe",
        "name": "诡才之道",
        "duration": "112",
        "hot": 1,
        "types": [
            "喜剧",
            "恐怖"
        ],
        "country": '中国台湾',
        "year": "2024",
    },
    {
        "_id": "6830407c5b05254ad43ad998",
        "name": "终极对弈",
        "score": "7.3",
        "country": '韩国',
        "duration": "116",
        "hot": 0,
        "types": [
            "剧情", "传记"
        ],
        "year": "2025",
    },
    {
        "_id": "682f31885631163b8565d71f",
        "name": "大风杀",
        "score": "7.0",
        "country": '中国大陆',
        "duration": "131",
        "hot": 1,
        "types": [
            "悬疑",
            "犯罪",
            "剧情"
        ],
        "year": "2025",
    }
]);
//电影列表表头信息
const tableThead = ref([
    { name: '编号', value: '_id' },
    { name: '电影名称', value: 'name' },
    { name: '电影类型', value: 'types' },
    { name: '制片国家', value: 'country' },
    { name: '上映年份', value: 'year' },
    { name: '时长', value: 'duration' },
    { name: '热映', value: 'hot' },
    {name:'操作',value:'operate'}
]);
//上映国家信息
const countries = ref([
    {
        "_id": "682d9655fa09000092007cb3",
        "name": "中国大陆"
    },
    {
        "_id": "682f3a9047bd398e5f05fd1d",
        "name": "中国香港"
    },
    {
        "_id": "682fdada47bd398e5f05fd1f",
        "name": "中国台湾"
    },
    {
        "_id": "68303b6647bd398e5f05fd41",
        "name": "美国"
    },
    {
        "_id": "682da00efa09000092007cb5",
        "name": "法国"
    },
    {
        "_id": "6830403b47bd398e5f05fd42",
        "name": "韩国"
    },
    {
        "_id": "682d9d6efa09000092007cb4",
        "name": "日本"
    },

]);
//电影类型信息
const moviesType = ref([
    {
        "_id": "66383656659a454f4604aed3",
        "name": "喜剧"
    },
    {
        "_id": "66383669659a454f4604aed4",
        "name": "爱情"
    },
    {
        "_id": "6638366f659a454f4604aed5",
        "name": "动作"
    },
    {
        "_id": "66383673659a454f4604aed6",
        "name": "科幻"
    },
    {
        "_id": "6638369e659a454f4604aede",
        "name": "奇幻"
    },
    {
        "_id": "6638367b659a454f4604aed7",
        "name": "动画"
    },
    {
        "_id": "66383681659a454f4604aed8",
        "name": "悬疑"
    },
    {
        "_id": "66383689659a454f4604aed9",
        "name": "犯罪"
    },
    {
        "_id": "66383692659a454f4604aedb",
        "name": "冒险"
    },
    {
        "_id": "663836a1659a454f4604aedf",
        "name": "恐怖"
    },
    {
        "_id": "663836b0659a454f4604aee1",
        "name": "传记"
    },
    {
        "_id": "682f32c447bd398e5f05fd14",
        "name": "剧情"
    }
])

const selectByTerm = ref({
    movieName: '',
    movieCountry: '',
    movieType: ''
});
//检索
const selectResult = computed(() => {
    return moviesData.value.filter(item => {
        const nameResult = item.name.includes(selectByTerm.value.movieName);
        const countryResult = selectByTerm.value.movieCountry ?  item.country == selectByTerm.value.movieCountry  : true;
        const typeResult = selectByTerm.value.movieType ?  item.types.includes(selectByTerm.value.movieType) : true;
        return nameResult && countryResult && typeResult;
    }) 
})

//删除
function deleteMovie(data) {
     moviesData.value = moviesData.value.filter(item => {
        return item._id != data
    })
}
//增加/修改
function changeMovieData(data){
    if(data._id){
        //修改
        
    }else{
        //增加
        moviesData.value.push(data);
    }
}

function getAddMovieInfo(data){
    console.log(data);
    
}

</script>

<style scoped>
* {
    outline: none;
}

table {
    text-align: center;
}
</style>